Hi, 各位!
我是PenguinRun, 一位學習Node.js不久的工程師。這是第一次參與IT邦鐵人賽。在此次的參賽,將依序帶入web後端的觀念、Node.js實作、Server架設到進階的主題探討。
希望能在跟各位分享後端技術之餘,也記錄下之前學習後端的歷程。
由於筆者的前端開發程式語言為JavaScript,因此在跨入後端範疇時,選擇了與JavaScript親和性高的Node.js。
Node.js是建立在Chrome的V8 JavaScript引擎上,透過事件驅動、非阻塞I/O的特性來提高效能。同時,它是一個Server side的JavaScript,且能透過Node.js的內置模組及JavaScript語言來撰寫成一個Server。其運作模式如下圖所示:
圖片擷取自:Evan M. Hahn(2016). Express in action.
圖中的架構是有兩個部分所結合。左邊是主從式架構(Client-server model),右邊是Node.js的部分,其運作分為4個動作。依序為:
藉由上述的動作,Node.js就能來針對不同request的需求,來回覆相對應的response。而且,Node.js的HTTP的server也幫我們處理了Client端與JavaScript參數之間的關係。所以我們不用特別花心思去關注及處理複雜的網路協議。在程式語法部分,若讀者有接觸過JavaScript,相信Node.js的語法對讀者來說也並不難。
目前30天的文章大綱如上,但也有可能會做些更動。
若讀者們有任何問題,也歡迎隨時提出。